The electronic revolution of the 80's has brought about further miniaturization of electronic devices and circuits and with it an ever-increasing need for automatic visual inspection. As product reliability becomes increasingly more important, electrical testing alone is not sufficient to detect many of the defects affecting long-term reliability. Thus visual inspection is required. This is a difficult task for human inspectors due to the vast amounts of information that must be processed at ever-increasing production rates within strict resolution requirements.
Virtually all phases of automatic visual inspection of electronic circuits is the subject of current research. Researchers have analyzed circuit flaws and specified some algorithms for detecting them. Other researchers have described prototype printed wiring board (PWB) inspection systems and imaging and image processing of thick film circuits. Computer vision technology has also being proposed for inspecting integrated circuits (IC's).
Much of the research currently being done is also applicable to the general problem of inspecting two-dimensional patterns having several colors and shades of gray. This includes character recognition, inspecting for defects in discs and tapes, CRT inspection, etc.
The need for high-performance image analysis systems in industrial, scientific and defense applications has speeded the development of high-speed image processor architectures. One of the most promising techniques for the construction of fast, efficient vision systems centers on the concept of cellular automata.
Early investigators in the field of image processing identified the unique capability of cellular computer architecture to solve vision problems. However, while these designs had potential for good performance in machine vision applications, system performance was limited by the circuit technology available to build such machines. Advances in integrated circuit technology have made cellular processors practical for incorporation into machine vision systems.
Machine vision image operations generally require substantial amounts of low-level, computationally intense, point and neighborhood computations. Tasks such as electronics inspection require the analysis of tremendous amounts of data from which spatial integrity of circuit patterns is inferred. Local neighborhood operations are ideal for this purpose. By contrast, medical data processing typically operates on images with low signal-to-noise levels and substantial signal enhancement through filtering is necessary.
Key requirements of a machine vision system are reprogrammability and good future growth capability to accommodate changes in the environment of the system after the system is installed.
One type of cellular processor particularly adaptable for machine vision applications is called the Cytocomputer. The Cytocomputer includes a series of pipelined processor stages. Pipelining is a form of processor parallelism commonly termed "temporal parallelism". Each processor stage of the Cytocomputer comprises an eight-bit, general purpose, neighborhood image processor. Each stage executes a logical, comparison or arithmetic function on a three-by-three neighborhood of pixels and transmits the result to its succeeding stage in the pipeline. A characteristic example of such a function is a Sobel operator or a maximum neighbor selection. Images to be transformed are serially input to the Cytocomputer in a raster scan format, with the effect that a three-by-three window "slides" across the image in a raster scan fashion.
The Cytocomputer is capable of executing a range of image processing tasks at high speed due to its relatively efficient architecture. Organization of the stage processing elements as a systolic array allows multiple use of each input data item thereby reducing the system's communication costs and complexity. The systolic approach also provides a simple, regular, internal stage architecture that allows the image to flow through the stage at the maximum rates afforded by the technology of the integrated circuit.
Each Cytocomputer processing element is based on a custom gate array which contains about 2,500 equivalent gates. Consequently, each processing element can execute neighborhood operations at a rate exceeding 10 million pixels per second.
Each processor stage is organized as a three-by-three systolic array of neighborhood pixel processing elements. A set of delay line memories is used to form the neighborhood window and data from the window flows through the array of processing elements. The output signals from the nine processing elements are combined according to specified Cytocomputer instructions so that a replacement pixel value is generated and passed to the next stage in the pipeline. The Cytocomputer is fully pipelined internally so that after a delay to fill the pipeline, a processed pixel is output from the stage whenever an input pixel is clocked into the stage.
The ability to pipeline stages is a key feature which results in high performance of the Cytocomputer. Each stage is capable of processing 10 million pixels per second and a pipeline of 10 such stages is capable of 100 million eight-bit pixel operations per second. In a typical application a 10-stage pipeline can perform any 10 point or neighborhood instructions on a 512.times.512 pixel image in less than one video frame time (i.e. 33 milliseconds). For example, the Sobel operator can be performed on a 512.times.512 image in 26.2 milliseconds. In principle large numbers of stages can be pipelined. However, in practice, most applications are satisfied by Cytocomputers on the order of eight to 10 stages long since non-Cytocomputer devices contained within the system soon become bottlenecks to system performance.
The basic neighborhood processing technique is essential to most important low and medium-level image transformation and the Cytocomputer is optimized to perform these operations. The Cytocomputer was originally designed for morphological operations such as erosions, dilations and skeletonizations. Mathematical morphology is a compact method of performing gauging operations in machine vision tasks. For example, inspection of a thick film substrate or an integrated circuit mask for design rule violations can be performed as a series of erosions and dilations as illustrated in U.S. Pat. No. 4,441,207. An image of such a circuit can be globally inspected for short and open circuits in a few time frames.
The Cytocomputer also supports most common linear mask operations such as Sobel, Roberts, Laplacian and gradient and also common 3.times.3 convolutions. These operations are pipelined and can be performed along with morphological operations.
Further details of the Cytocomputer can be obtained from the U.S. Patents assigned to the Environmental Research Institute of Michigan, all of which are hereby incorporated by reference.
Several types of algorithms or methods for detection of electronic circuit defects have been developed over the years. These algorithms and the systems utilizing same can be classified into three general categories: reference system pattern matching; non-reference or generic property verification; and, measurement or gauging.
Reference systems compare pixel values or properties of a known good circuit with those of a circuit under test. The matching may be done by direct comparison of intensity values, by comparison of statistical or spatial features, or by matching nodes and end points in a graph which defines the topology of the circuit. Mismatches between the reference pattern and the image under test are used to detect flaws. One advantage of the reference approach is that much of the knowledge required to determine if a circuit is good is contained within the reference pattern. One of the problems with this approach is the difficulty in accurately registering or aligning the two images for comparison, thereby resulting in an ambiguity range between a good and a defective circuit. Another problem with the reference approach is that the data representation of the reference image must be sufficiently compact to avoid excessive memory costs and slow data transfer rates. In general, the reference method is good in finding gross defects but has more trouble in detecting flaws small in size relative to the entire image because of the misregistration problem.
Non-reference systems differs from reference systems in that no comparison between the image to be inspected and a reference image is needed. This approach does not average the various features in an image into a single statistic or set of statistics but instead analyzes each of the features individually. Thus an important advantage of this approach is that no information is lost. Such a system searches an image for the presence of a specific set of features. Flaws are detected by the presence or absence of these features. In order for such a system to be successfully implemented, the set of guidelines used to detect or describe any given feature must be unambiguously defined and must be applicable throughout the entire image being inspected.
The non-reference method is most effective in applications where a set of rules applies to each point in the circuit. If this method is to be exclusively used, then the inspection criteria must be described by a compact, context-independent set of specifications. Unfortunately, design rules are routinely violated throughout the circuit manufacturing industry without affecting the functionality of a circuit design such as a thick film circuit design. With respect to thick film designs, the presence of multiple layers can cause the appearance of violations when in fact no error has occurred. The impact on the non-reference method is that the list of inspection rules can potentially become very long, resulting in a time-consuming algorithm. In summation, the non-reference method is not general enough to be applicable under a wide variety of conditions and often becomes "crippled" when rule violations occur.
Measurement or gauging systems are often designed to report dimensions of patterns and provide feedback (X, Y and theta measurements for alignment) for process control. These systems assume that the measurement area is defect free and that a good estimate, at least in a least squares sense, is available to locate the position of each pattern precisely. Most commercially available circuit board inspection systems do not provide full-function circuit inspection and dimensional measurement. For hybrid inspection systems alignment is very important and in integrated circuit inspection systems precise line width measurements are required. Measurement accuracy at any single location is also affected by digitization. Confidence in the measurement is typically plus or minus the size of each pixel or picture element.
Thick film electronic circuits are commonly produced on a ceramic substrate. Several layers consisting of a conductor, resistor, dielectric and solder paste patterns are printed with various inks onto the substrate using screen printing and subsequent firing processes. After these operations, components are placed onto the substrate. Automatic visual inspection of each of the printed layers before component assembly is desired since checking such circuits is putting ever more strain on human inspectors. Designs are growing more complex with thinner lines, larger substrates and the greater user of multilayer construction. This inspection must be performed both before and after firing the individual layers (i.e. when both the layer is wet and again when it is dry). Typical flaws include voids, cracks, misalignment, path spacing and width errors etc. Resolution required from inspection is typically in excess of one mil (i.e. 0.001 inch). The surface area of each circuit is frequently one million square mils.
Missed defects because of lapses in human concentration or fatigue can be expensive. Buried flaws in multilayer circuits are virtually impossible to repair. The cost of a defect multiplies if it reaches the next stage of production which is assembly.
Inspection time becomes more and more an issue as manufacturers move into large substrates of dense, multilayer designs. In such cases, human inspection of the layers may be measured in minutes. The task puts a heavy burden on manufacturing people creating a potential bottleneck. It is desirable if such automatic vision systems be capable of generating a data base necessary for statistical reporting to achieve process control.